TypeScript 核心
类型推断
TS 会根据初始化时的赋值自动确定变量类型
let str = 'abc';
str = 10;
类型注解
使用 :
来主动确定变量类型
let str: string = 'abc';
类型断言
使用 as
主动确定返回类型
let numArr = [1, 2, 3];
const result = numArr.find((item) => item > 2) as number;
result * 5;
数据类型
let v1: string = 'abc'; // 字符串
let v2: number = 10; // 数字
let v3: boolean = true; // 布尔
let nu: null = null; // 空
let un: undefined = undefined; //未定义
let v4: string | null = null; // 多个基层类型
let v5: 1 | 2 | 3 = 3; // 指定具体值
let arr: number[] = [1, 2, 3]; // 数组
let arr1: Array<string> = ['a', 'b', 'c']; // 数组
let t1: [number, string, number?] = [1, '1', 2]; //元组。?代表设置为可选项
enum MyEnum { //枚举。将值映射为数字
a,
b,
c,
}
函数
function MyFn(a = 10, b?: number, c?: boolean, ...rest: number[]): number {
//设置变量和返回值的类型,如果没有返回值使用 void,?代表设置为可选项
return 100;
}
接口
interface 定义接口
interface afObj {
name: string;
age: number;
}
const obj: afObj = {
name: 'xx',
age: 13,
};
type 自定义类型使用方式
type afUserName = string | number;
let a: afUserName = 'abc';
泛型
function myFn<T>(a: T, b: T): T[] {
return [a, b];
}
function myFn<T, U>(a: T, b: U): (T | U)[] {
return [a, b];
}